今天在研究用 CSS 实现背景图片铺满浏览器窗口的方法,先是在 StackOverflow 上找到一个方法 show full height background image 来实现背景图填满浏览器高度的需求,但是效果并不好,窗口底部会有一块空白区域,并且右侧有滚动条,在前端群里讨论了一番之后,发现用 background-size: cover;
语句即可解决该问题。在 W3Schools 上查看了一下该属性的说明,在 Background-Size Property Values 这个页面中,可以查看不同属性值会有什么样的表现,整理如下:
属性值 | 表现方式 |
---|---|
auto |
背景图的原始尺寸 |
initial |
背景图的原始尺寸 |
*px *px |
指定的尺寸 |
*px |
指定的宽度,并保持图片原始高宽比 |
100% 100% |
撑满填充区域的宽和高 |
X% |
相对于填充区域的宽度比例,并保持图片原始高宽比 |
cover |
撑满填充区域的宽度,并保持图片原始高宽比 |
contain |
撑满填充区域的高度,并保持图片原始高宽比 |
对比上面表格中的几种属性,可以发现 100%
和 cover
两种属性实现的效果是一样的,auto
和 initial
实现的效果是一样的。
最后为了实现背景图片铺满浏览器窗口的需求,将背景图裁剪成了 16:10 的比例,并且用 cover
属性,这样就可以满足大部分的应用场景了。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。